package Negocio;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DetalleOrdenVenta {
	
	public Datos.DetalleOrdenVenta oDatos;
	
	/**
	 * Agrega un Detalle de Orden a la base de datos;
	 * @param item
	 * @return
	 * @throws Exception
	 */
	public int Add(int idOrden, int idDetalle, Entidades.DetalleOrdenVenta item) throws Exception{
		Datos.DetalleOrdenVenta oDatos;
		try{
			oDatos = new Datos.DetalleOrdenVenta();
			return oDatos.Add(idOrden, idDetalle, item);
		}finally {
			oDatos = null;
		}
	}
	
	/**
	 * Obtiene una lista de Detalles Ordenes en base a una consulta;
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public List Consulta(int id) throws Exception{
		Datos.DetalleOrdenVenta oDatos;
		try{
			oDatos = new Datos.DetalleOrdenVenta();
			return oDatos.Consulta(id);
		}finally {
			oDatos = null;
		}
	}
	
	public int ConsultaMaxIdDetalle(String id) throws Exception{
		Datos.DetalleOrdenVenta oDatos;
		try{
			oDatos = new Datos.DetalleOrdenVenta();
			return oDatos.ConsultaMaxIdDetalle(id);
		}finally {
			oDatos = null;
		}
	}
	
	public float GetMonto(Entidades.DetalleOrdenVenta detalle){
		Entidades.CPD oCPD = detalle.getCPD();
		return oCPD.getImporte();
	}
	
	public List GetDetalles(Entidades.OrdenVenta orden) throws  Exception{
		Datos.Orden oDatos;
		try{
			oDatos = new Datos.Orden();
			return oDatos.GetAll();
		}finally {
			oDatos = null;
		}
	}
	
	public void Nuevo (int nroOrden, int idDetalle, Entidades.DetalleOrdenVenta detalle){
		
		//String consulta = "";
		//int maxIdDetalle=0;
		//try {
			//consulta = "SELECT * FROM detalleordenventa WHERE idOrden=" + nroOrden + " AND idDetalle=(SELECT MAX(idDetalle) FROM detalleordenventa);";
			//maxIdDetalle = (new Negocio.DetalleOrdenVenta()).ConsultaMaxIdDetalle(consulta);
		//} catch (Exception e) {
			//e.printStackTrace();
		//}

		Negocio.DetalleOrdenVenta aDatos = new Negocio.DetalleOrdenVenta();
		try {
			aDatos.Add(nroOrden, idDetalle, detalle);
		} catch (Exception e) {
			e.printStackTrace();
		}


	}

}
